package com.xintai.sparepart.spareandpart.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xintai.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xintai.common.annotation.Excel;
import com.xintai.common.core.domain.BaseEntity;

/**
 * 备品备件货品对象 bei_products
 *
 * @author xintai
 * @date 2020-12-23
 */
public class BeiProducts extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long proId;

    /** 名称 */
    @Excel(name = "名称")
    private String proName;

    /** 规格、型号 （规格、型号合并） */
    @Excel(name = "规格、型号 ", readConverterExp = "规=格、型号合并")
    private String proModel;

    /** 警界上限， 库存、报表中使用，提醒采购者超出采购上限 */
    @Excel(name = "警界上限， 库存、报表中使用，提醒采购者超出采购上限")
    private BigDecimal proUpper;

    /** 警界下线， 提醒采购者该物品应该采购 */
    @Excel(name = "警界下线， 提醒采购者该物品应该采购")
    private BigDecimal proLower;

    /** 系统中数据字典的bei_unit值 */
    @Excel(name = "系统中数据字典的bei_unit值")
    private String proUnitid;

    /** 分类表ID， 关联：bei_types  */
    @Excel(name = "分类表ID， 关联：bei_types ")
    private Long typeId;

    /** 备注说明 */
    @Excel(name = "备注说明")
    private String proRemark;

    /** 维护人ID， 关联 sys_user */
    @Excel(name = "维护人ID， 关联 sys_user")
    private Long userId;

    /** 维护时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "维护时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date proTime;

    /** 是否删除， 字典数据不删除，0  正常可用，1 删除禁用， 但可关联查询 */
    @Excel(name = "是否删除， 字典数据不删除，0  正常可用，1 删除禁用， 但可关联查询")
    private String proIsdel;

    /** 0 = 待确认状态， 1 = 确认完成  其他状态参考isdel */
    @Excel(name = "0 = 待确认状态， 1 = 确认完成  其他状态参考isdel")
    private Long proFlag;

    /** 确认人ID   关联：bei_types  */
    @Excel(name = "确认人ID   关联：bei_types ")
    private Long proCheckid;

    /** 确认时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "确认时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date proChecktime;

    /** 属性：0 = 备品备件， 1 = 镀锌辅料，2 = 轧辊轴承，3 = 轴承内套，4 = 办公用品，5  = 轧辊，6 = 辊子 */
    @Excel(name = "属性：0 = 备品备件， 1 = 镀锌辅料，2 = 轧辊轴承，3 = 轴承内套，4 = 办公用品，5  = 轧辊，6 = 辊子")
    private String proProperty;

    /** 是否含银： 0 = 否， 1 = 是 */
    @Excel(name = "是否含银： 0 = 否， 1 = 是")
    private Long proIsyin;

    /** 是否以旧换新： 0 = 否， 1 = 是 */
    @Excel(name = "是否以旧换新： 0 = 否， 1 = 是")
    private Long proIsjhx;

    /** 是否车间常备件 0 = 否， 1 = 是， 是车间长备件转入车间库存 */
    @Excel(name = "是否车间常备件 0 = 否， 1 = 是， 是车间长备件转入车间库存")
    private Long proIscbj;
    /**
     * 维护用户信息
     */
    private SysUser sysUser;
    /**
     * 审核用户信息
     */
    private SysUser checkUser;
    /**
     * 分类
     */
    private BeiTypes beiTypes;

    public void setProId(Long proId)
    {
        this.proId = proId;
    }

    public Long getProId()
    {
        return proId;
    }
    public void setProName(String proName)
    {
        this.proName = proName;
    }

    public String getProName()
    {
        return proName;
    }
    public void setProModel(String proModel)
    {
        this.proModel = proModel;
    }

    public String getProModel()
    {
        return proModel;
    }
    public void setProUpper(BigDecimal proUpper)
    {
        this.proUpper = proUpper;
    }

    public BigDecimal getProUpper()
    {
        return proUpper;
    }
    public void setProLower(BigDecimal proLower)
    {
        this.proLower = proLower;
    }

    public BigDecimal getProLower()
    {
        return proLower;
    }
    public void setProUnitid(String proUnitid)
    {
        this.proUnitid = proUnitid;
    }

    public String getProUnitid()
    {
        return proUnitid;
    }
    public void setTypeId(Long typeId)
    {
        this.typeId = typeId;
    }

    public Long getTypeId()
    {
        return typeId;
    }
    public void setProRemark(String proRemark)
    {
        this.proRemark = proRemark;
    }

    public String getProRemark()
    {
        return proRemark;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setProTime(Date proTime)
    {
        this.proTime = proTime;
    }

    public Date getProTime()
    {
        return proTime;
    }
    public void setProIsdel(String proIsdel)
    {
        this.proIsdel = proIsdel;
    }

    public String getProIsdel()
    {
        return proIsdel;
    }
    public void setProFlag(Long proFlag)
    {
        this.proFlag = proFlag;
    }

    public Long getProFlag()
    {
        return proFlag;
    }
    public void setProCheckid(Long proCheckid)
    {
        this.proCheckid = proCheckid;
    }

    public Long getProCheckid()
    {
        return proCheckid;
    }
    public void setProChecktime(Date proChecktime)
    {
        this.proChecktime = proChecktime;
    }

    public Date getProChecktime()
    {
        return proChecktime;
    }
    public void setProProperty(String proProperty)
    {
        this.proProperty = proProperty;
    }

    public String getProProperty()
    {
        return proProperty;
    }
    public void setProIsyin(Long proIsyin)
    {
        this.proIsyin = proIsyin;
    }

    public Long getProIsyin()
    {
        return proIsyin;
    }
    public void setProIsjhx(Long proIsjhx)
    {
        this.proIsjhx = proIsjhx;
    }

    public Long getProIsjhx()
    {
        return proIsjhx;
    }
    public void setProIscbj(Long proIscbj)
    {
        this.proIscbj = proIscbj;
    }

    public Long getProIscbj()
    {
        return proIscbj;
    }

    public SysUser getSysUser() {
        return sysUser;
    }

    public void setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
    }

    public BeiTypes getBeiTypes() {
        return beiTypes;
    }

    public void setBeiTypes(BeiTypes beiTypes) {
        this.beiTypes = beiTypes;
    }

    public SysUser getCheckUser() {
        return checkUser;
    }

    public void setCheckUser(SysUser checkUser) {
        this.checkUser = checkUser;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("proId", getProId())
            .append("proName", getProName())
            .append("proModel", getProModel())
            .append("proUpper", getProUpper())
            .append("proLower", getProLower())
            .append("proUnitid", getProUnitid())
            .append("typeId", getTypeId())
            .append("proRemark", getProRemark())
            .append("userId", getUserId())
            .append("proTime", getProTime())
            .append("proIsdel", getProIsdel())
            .append("proFlag", getProFlag())
            .append("proCheckid", getProCheckid())
            .append("proChecktime", getProChecktime())
            .append("proProperty", getProProperty())
            .append("proIsyin", getProIsyin())
            .append("proIsjhx", getProIsjhx())
            .append("proIscbj", getProIscbj())
            .toString();
    }
}
